home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / comm / x00v150.zip / X00REF.DOC < prev    next >
Text File  |  1993-05-22  |  63KB  |  1,634 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.                    Functions reference manual for the X00 developer
  28.  
  29.                   X.00 A Low Level Serial I/O Communications Driver
  30.                         for MS DOS and like Operating Systems.
  31.  
  32.                         Copyright (c) 1993 by Raymond L. Gwinn
  33.                                  12469 Cavalier Drive
  34.                               Woodbridge, Virginia 22192
  35.                                  All Rights Reserved
  36.  
  37.                                      May 22, 1993
  38.  
  39.  
  40.                    Fidonet address 1:265/104 (Routed Netmail only)
  41.                                  Compuserve 72570,157
  42.                           Internet 72570.157@Compuserve.com
  43.                                    FAX 703-494-0595
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.                                                                           i
  52.  
  53.  
  54.                                      INTRODUCTION
  55.  
  56.           Previously,  the documentation  for X00  was  little more  than a
  57.           collection  of notes.  The notes were added to as the development
  58.           process continued and enhancements were made.  I honestly did not
  59.           suspect that  X00 would become  as widely  used as it  is.   This
  60.           manual is an attempt at some decent documentation for X00.
  61.  
  62.           But who do  I document for?   The user that  is setting up a  BBS
  63.           just wants to get X00 installed and to move on  to more important
  64.           things.  The user that is having problems needs information about
  65.           serial  I/O communications  in general  and the  PC specifically.
  66.           The application developer (programmer) needs detailed information
  67.           about each individual function and the information generated.
  68.  
  69.           This manual is  intended as  a reference for  use by  application
  70.           programmers who desires  to use X00.  A separate  Users manual is
  71.           included in the distribution file(s).
  72.  
  73.           This manual and the software distributed with it is provided with
  74.           no guarantees.  Use at your own risk.
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.                                                                          ii
  83.  
  84.  
  85.           WHAT IS X00 . . . . . . . . . . . . . . . . . . . . . . . . .   1
  86.  
  87.           Warranty  . . . . . . . . . . . . . . . . . . . . . . . . . .   1
  88.  
  89.           Licensing Information . . . . . . . . . . . . . . . . . . . .   2
  90.                Non-Commercial License . . . . . . . . . . . . . . . . .   2
  91.                Commercial License . . . . . . . . . . . . . . . . . . .   2
  92.  
  93.           Functions . . . . . . . . . . . . . . . . . . . . . . . . . .   3
  94.                Function 00h - Set communications parameters . . . . . .   4
  95.                Function 01h - Transmit character and wait . . . . . . .   5
  96.                Function 02h - Get received character with wait  . . . .   5
  97.                Function 03h - Return Serial Port Status . . . . . . . .   6
  98.                Function 04h - Activate Port . . . . . . . . . . . . . .   7
  99.                Function 05h - Deactivate Port . . . . . . . . . . . . .   8
  100.                Function 06h - Raise/lower DTR . . . . . . . . . . . . .   8
  101.                Function 07h - Return timer tick information . . . . . .   9
  102.                Function 08h - Flush output buffer . . . . . . . . . . .   9
  103.                Function 09h - Purge output buffer . . . . . . . . . . .   9
  104.                Function 0Ah - Purge input buffer  . . . . . . . . . .    10
  105.                Function 0Bh - Transmit no wait  . . . . . . . . . . .    10
  106.                Function 0Ch - Non-destructive read-ahead (Peek) . . .    10
  107.                Function 0Dh - Keyboard read without wait  . . . . . .    11
  108.                Function 0Eh - Keyboard read with wait . . . . . . . .    11
  109.                Function 0Fh - Flow Control for serial I/O . . . . . .    12
  110.                     Xon/Xoff flow control . . . . . . . . . . . . . .    12
  111.                     RTS/CTS flow control  . . . . . . . . . . . . . .    12
  112.                Function 10h - Control-C / Control-K checking  . . . .    13
  113.                Function 11h - Set current cursor location . . . . . .    13
  114.                Function 12h - Read current cursor location  . . . . .    14
  115.                Function 13h - Single character ANSI write to screen .    14
  116.                Function 14h - Enable or disable the DCD watchdog  . .    14
  117.                Function 15h - Write character to screen using BIOS  .    15
  118.                Function 16h - Add  or delete a routine from  the timer
  119.                     tick  . . . . . . . . . . . . . . . . . . . . . .    15
  120.                Function 17h - Reboot system . . . . . . . . . . . . .    16
  121.                Function 18h - Block Read  . . . . . . . . . . . . . .    16
  122.                Function 19h - Block Write . . . . . . . . . . . . . .    16
  123.                Function 1Ah - Break begin or end  . . . . . . . . . .    17
  124.                Function 1Bh - Return information about X00  . . . . .    18
  125.  
  126.           Superset Functions  . . . . . . . . . . . . . . . . . . . .    19
  127.                Function 1Ch - Activate Port . . . . . . . . . . . . .    20
  128.                Function 1Dh - Deactivate Port . . . . . . . . . . . .    21
  129.                Function 1Eh - Extended line control initialization  .    22
  130.                Function 1Fh - Extended serial port status/control . .    23
  131.                Function 20h - Read with no wait (destructive) . . . .    24
  132.                Function 21h - Stuff/Poke the receive buffer . . . . .    24
  133.  
  134.           "Layered Application" services  . . . . . . . . . . . . . .    25
  135.                Function  7Eh  -  Install  an   "external  application"
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.                                                                         iii
  144.  
  145.                     function  . . . . . . . . . . . . . . . . . . . .    25
  146.                Function  7Fh  -   Remove  an  "external   application"
  147.                     function  . . . . . . . . . . . . . . . . . . . .    26
  148.  
  149.           Application Notes . . . . . . . . . . . . . . . . . . . . .    27
  150.                Which Activate/Deactivate functions to use . . . . . .    27
  151.                Watch out for disk I/O . . . . . . . . . . . . . . . .    27
  152.                Successive timer tick calls  . . . . . . . . . . . . .    28
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.                                                                           1
  161.  
  162.  
  163.                                      WHAT IS X00
  164.  
  165.           X00 is  a Serial  Input/Output (SIO) communications  driver.   It
  166.           provides  an interface  between  an application  program and  the
  167.           serial communications hardware.
  168.  
  169.           X00 was originally  designed as a  FOSSIL driver.   FOSSIL is  an
  170.           acronym  containing the first character of several communications
  171.           programs.  The FOSSIL specification  is basically an extension of
  172.           the PC's BIOS services for serial communications.
  173.  
  174.           Except as  noted in the this Manual, X00 meets the FOSSIL level 5
  175.           specification.   X00 provides  additional functions that  are not
  176.           contained in the FOSSIL level 5 specification.
  177.  
  178.           X00 only works with 8250 (TYPE) serial I/O devices.  Such devices
  179.           include the  8250A, 16450, 16550, 16550A  and the 82510.   If you
  180.           have a PC that  is an IBM or near  compatible which has a  serial
  181.           communication  port, it is likely  that it contains  one of these
  182.           devices.  XU, a  utility distributed with X00, will  identify the
  183.           existence of compatible SIO devices.
  184.  
  185.           Like  other Device  Drivers,  X00 will  do  very little  standing
  186.           alone.  There must be an application(s) program to use X00 before
  187.           you will gain benefit.
  188.  
  189.           Since  the introduction  of the  FOSSILs, a  great number  of new
  190.           communications  programs  have come  into existence.   I  like to
  191.           think  that the FOSSILs are  largely responsible for  this.  Many
  192.           programs that contain their own communications drivers have added
  193.           FOSSIL support.  One no